//
//  IFAADeregister.h
//  esand_cloud_ifaa
//
//  Created by ReidLee on 2018/6/15.
//  Copyright © 2018年 esandinfo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "IFAAResult.h"
#import "IFAABaseInfo.h"
#import "IFAACommon.h"

/**
 * IFAA 注销类
 */
@interface IFAADeregister : NSObject

/**
 * 初始化函数
 * - param
    - baseInfo 执行上下文 `IFAABaseInfo`
  - return self of ·IFAADeregister·
 */
- (id)initWithIFAABaseInfo:(IFAABaseInfo *) baseInfo;

/**
 * 注销初始化
 * - return `IFAAResult`
     <table border="1">
         <tr>
             <th>可能的错误码</th>
             <th>内容</th>
             <th>备注</th>
         </tr>
         <tr>
             <td>"7"</td>
             <td>错误描述</td>
             <td>锁屏密码没设置</td>
         </tr>
         <tr>
             <td>"4"</td>
             <td>错误描述</td>
             <td>设备尚未录入任何指纹</td>
         </tr>
         <tr>
             <td>"5"</td>
             <td>错误描述</td>
             <td>ifaa 尚未注册</td>
         </tr>
         <tr>
             <td>"0"</td>
             <td>认证请求的报文</td>
             <td>需要把报文同步给服务器</td>
         </tr>
     </table>
 *
 */
- (IFAAResult *) deregInit;


/**
 * 执行本地注销操作
 * - param
    - msg 服务器返回的注销报文
    - ifaaCallback 执行结果回调（异步执行） `IFAACallback`
 
   - return
     <table border="1">
         <tr>
             <th>可能的错误码</th>
             <th>内容</th>
             <th>备注</th>
         </tr>
         <tr>
             <td>"9"</td>
             <td>错误描述</td>
             <td>返回的报文数据异常</td>
         </tr>
         <tr>
             <td>"8"</td>
             <td>错误描述</td>
             <td>注销过程发生异常</td>
         </tr>
         <tr>
             <td>"0"</td>
             <td>注销的token </td>
             <td>注销成功</td>
         </tr>
     </table>
 */
- (void) dereg:(NSString *)msg ifaaCallback:(IFAACallback) ifaaCallback;
@end
